<?php
/**
 * Created by PhpStorm.
 * User: edmmss
 * Date: 2018/11/7
 * Time: 18:31
 */

namespace app\modules\abstractFactory\controller;

use app\modules\abstractFactory\factory\HtmlFactory;
use app\modules\abstractFactory\factory\JsonFactory;
use yii\web\Controller;

class DefaultController extends Controller
{
    /**
     * 抽象工厂模式示例
     * 在不指定具体类的情况下创建一系列相关或依赖对象。 通常创建的类都实现相同的接口。
     * 抽象工厂的客户并不关心这些对象是如何创建的，它只是知道它们是如何一起运行的。
     *
     * @date   2018/11/8
     * @author edmmss
     * @return bool
     */
    public function actionIndex()
    {
        $htmlFactory = new HtmlFactory();
        $htmlText = $htmlFactory->createText('edmmss');
        $text = $htmlText->handleText();
        var_dump($text);

        $jsonFactory = new JsonFactory();
        $jsonText = $jsonFactory->createText('edmmss');
        $text = $jsonText->handleText();
        var_dump($text);

        return true;
    }
}